home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 063 - Wasteland Side 1.dsk / INTRO.bas < prev    next >
BASIC Source File  |  2019-02-17  |  6KB  |  129 lines

  1. 1  ONERR  GOTO 114
  2. 2  GOTO 115
  3. 3 I1% = TH% +1:I2% = NT%
  4. 4  FOR IS = I1% TO I2%
  5. 5 S = IS -TH%
  6. 6 BK% = 0: GOSUB 103
  7. 7  IF BK% <1  THEN 10
  8. 8 I1% = IS -1: IF I1% <TH% +1  THEN I1% = TH% +1: GOSUB 40
  9. 9 IS = NT%: GOTO 11
  10. 10  IF IS = NT%  OR (S = A1  AND I$ = N$)  THEN  GOTO 41
  11. 11  NEXT IS: GOTO 4
  12. 12 I$ = X$
  13. 13 V = 22:H = 19: IF S = A1  THEN V = 14:H = 35
  14. 14  IF F2% = 2  THEN V = 15:H = 18
  15. 15  GOSUB 95: PRINT I$;
  16. 16 X =  PEEK( -16368): GET T$: IF T$ = X$  THEN 16
  17. 17 A =  ASC(T$): IF A >90  THEN T$ =  CHR$(A -32):A = A -32
  18. 18  IF A = 13  OR A = 27  THEN 22
  19. 19  IF S = A2  AND T$ = H$  THEN 22
  20. 20  IF A = 8  THEN  GOSUB 36: GOTO 12
  21. 21 I$ = T$: GOTO 13
  22. 22  PRINT  CHR$(1);: IF I$ = X$  THEN I$ = T$
  23. 23 V% =  VAL(I$): IF F2% = 1  OR F2% = 2  THEN  GOTO 39
  24. 24  IF S < >A2  THEN 27
  25. 25  IF I$ = H$  THEN  RETURN 
  26. 26  IF HF% <1  THEN 38
  27. 27  IF S < >A1  THEN 30
  28. 28  IF I$ = Y$  OR I$ = N$  OR I$ = B$  OR I$ = Q$  THEN 39
  29. 29  GOSUB 36: GOTO 38
  30. 30  IF S = 1  AND (I$ = SP$  OR I$ = CR$)  THEN 39
  31. 31  IF S >1  AND (I$ = SP$  OR I$ = CR$  OR I$ = B$  OR I$ = Q$)  THEN 39
  32. 32  GOSUB 40: GOTO 12
  33. 33 X =  PEEK( -16368):V = 19:H = 40: GOSUB 95: GET I$: PRINT  CHR$(1): IF I$ = X$  THEN 33
  34. 34  IF I$ = CR$  OR I$ = SP$  OR I$ = ES$  THEN  RETURN 
  35. 35  GOSUB 40: GOTO 33
  36. 36  IF I$ < >CR$  THEN  PRINT  CHR$(8);
  37. 37  PRINT ;SP$; CHR$(8);: RETURN 
  38. 38  GOSUB 40: GOTO 12
  39. 39 X =  PEEK(SO):X =  PEEK(SO): RETURN 
  40. 40  FOR I = 1 TO 30:X =  PEEK(SO): NEXT : RETURN 
  41. 41  GOSUB 98: GOSUB 88:V = 10:H = 3: GOSUB 95: PRINT "PLEASE WAIT: DISK DRIVE IN USE..."
  42. 42 V = 1:H = 5: GOSUB 95: PRINT "   ...GOING TO NEXT PHASE   "
  43. 43  PRINT  CHR$(4);"RUN MAIN"
  44. 44  REM 
  45. 45  GOSUB 98
  46. 46 V = 1:H = 6: GOSUB 95: PRINT "      ....QUITTING"; SPC( 10)
  47. 47 V = 10:H = 2: GOSUB 95: PRINT "TYPE "DQ$"Y"DQ$" IF YOU REALLY WANT TO QUIT"
  48. 48 V = 12:H = 3: GOSUB 95: PRINT "TYPE "DQ$"C"DQ$" TO CONTINUE THE PROGRAM"
  49. 49 F2% = 2: GOSUB 12: IF I$ = C$  THEN I$ = X$: RETURN 
  50. 50  IF I$ = Y$  THEN  TEXT : HOME :V = 10:H = 13: GOSUB 95: PRINT "SO LONG...": END 
  51. 51  GOSUB 40: GOTO 49
  52. 52 F0% = 0:HF% = 1
  53. 53  INVERSE : FOR I = 1 TO H%:V% = YT%(I): POKE 66,V%:NN = 3 *V% -2 -23 * INT((V% -1)/8):NU = 1023 +40 *(NN -1) +8 * INT((NN -1)/3) +XT%(I):LO = 60: GOSUB 68
  54. 54 NU = 1023 +40 *(NN -1) +8 * INT((NN -1)/3) +XT%(I)
  55. 55 LO = 60: GOSUB 68:L% = XB%(I) -XT%(I): POKE 64,L%:NR% = YB%(I) -YT%(I): POKE 65,NR%: CALL 887:V = YT%(I):H = XT%(I) -1: IF H < = 0  THEN H = 1
  56. 56  GOSUB 95: PRINT I;: NEXT I: NORMAL :F1% = 1: GOSUB 70
  57. 57 F2% = 1: GOSUB 12:F0% = 1: IF I$ = CR$  OR I$ = SP$  OR I$ = ES$  THEN F0% = 0: RETURN 
  58. 58  IF V% <1  OR V% >H%  THEN  GOSUB 40: GOTO 57
  59. 59 NN% = NS%(V%):PP = A0 +2 *NN%
  60. 60 LO = PP: GOSUB 69:HP = NU: GOSUB 62: GOSUB 33: IF I$ = ES$  THEN F0% = 0
  61. 61  RETURN 
  62. 62 NU = HP +3 +5 * PEEK(HP):LO = 60: GOSUB 68:NU = 1024:LO = 62: GOSUB 68: CALL 770:V = 1:H = 4: GOSUB 95: PRINT "DEFINITION:":V = 3:H = 2: GOSUB 95: PRINT "..."
  63. 63 F1% = 2: GOSUB 88: GOSUB 70: RETURN 
  64. 64 AP = A0 +2 *IS:AH =  PEEK(AP) +256 * PEEK(AP +1):H% =  PEEK(AH): IF H% <1  THEN 66
  65. 65  FOR I = 1 TO H%:AB = AH +5 *I -2:XT%(I) =  PEEK(AB):YT%(I) =  PEEK(AB +1):XB%(I) =  PEEK(AB +2):YB%(I) =  PEEK(AB +3):NS%(I) =  PEEK(AB +4): NEXT I
  66. 66 N% =  PEEK(AH +1):IV% =  PEEK(AH +2):AS = AH +3 +5 *H%
  67. 67  RETURN 
  68. 68  POKE LOC +1,NUM/256: POKE LOC,NUM -256 * PEEK(LOC +1): RETURN 
  69. 69 NUM =  PEEK(LOC) +256 * PEEK(LOC +1): RETURN 
  70. 70  GOSUB 92
  71. 71 V = 22:H = 2: GOSUB 95
  72. 72  PRINT UL$
  73. 73 V = 23:H = 4: GOSUB 95
  74. 74  IF S = A1  THEN  PRINT " TYPE "DQ$Y$DQ$" OR "DQ$N$DQ$"--AND THEN "DQ$"RETURN"DQ$;: GOTO 82
  75. 75  IF S < >A2  THEN 80
  76. 76  IF F1% <1  AND HF% <1  THEN  PRINT "  PRESS "DQ$H$DQ$" TO TRY DEFINITIONS";: GOTO 82
  77. 77  IF F1% <1  THEN  PRINT "PRESS "RT$" FOR NEXT SCREEN ?=DEF";: GOTO 82
  78. 78  IF F1% = 1  THEN  PRINT " TYPE NUMBER NEXT TO ITEM YOU WANT  ";: GOTO 82
  79. 79  IF F1% = 2  THEN H = 3: GOSUB 95: PRINT J$RT$" IF YOU WANT MORE DEF'S";: GOTO 82
  80. 80  IF I$ = Q$  THEN  PRINT  SPC( 35);: GOTO 82
  81. 81  PRINT "PRESS "RT$" TO GO TO NEXT SCREEN";
  82. 82 V = 24:H = 3: GOSUB 95
  83. 83  IF S = 1  OR I$ = Q$  THEN  PRINT  SPC( 35);: GOTO 87
  84. 84  IF F1% = 0  AND (S < >A2  OR HF% >0)  THEN  PRINT "       <B=BACK UP    Q=QUIT>       ";
  85. 85  IF F1% = 1  THEN  PRINT "(PRESS "RT$" TO LEAVE DEFINITION)";
  86. 86  IF F1% = 2  THEN  PRINT J$DQ$"ESC"DQ$"    IF YOU DON'T";
  87. 87  GOSUB 93: NORMAL : RETURN 
  88. 88  GOSUB 92:M$ = F2$: IF S < >A4  THEN M$ = F1$ +M$(S) +PS$: IF  LEN(M$(S)) >4  THEN M$ =  MID$ (M$,2,23)
  89. 89  POKE 2039,S +47: IF F1% >0  THEN  POKE 2038,4
  90. 90  FOR I = 1 TO 22: VTAB I: HTAB 1: INVERSE : PRINT  MID$ (M$,I,1);: HTAB 40: NORMAL : PRINT CH$;: NEXT 
  91. 91  GOSUB 93: RETURN 
  92. 92 P1 =  PEEK(32):P2 =  PEEK(33):P3 =  PEEK(34):P4 =  PEEK(35): POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,23: RETURN 
  93. 93  POKE 32,P1: POKE 33,P2: POKE 34,P3: POKE 35,P4: RETURN 
  94. 94  GOSUB 98:V = 10:H = 3: GOSUB 95: PRINT "PLEASE WAIT: DISK DRIVE IN USE...": RETURN 
  95. 95  HTAB H
  96. 96  VTAB V: RETURN 
  97. 97  HTAB H: RETURN 
  98. 98 P1 =  PEEK(32):P2 =  PEEK(33):P3 =  PEEK(34):P4 =  PEEK(35)
  99. 99  POKE 32,1: POKE 33,38: POKE 34,1: POKE 35,24
  100. 100  HOME 
  101. 101  POKE 32,P1: POKE 33,P2: POKE 34,P3: POKE 35,P4
  102. 102  RETURN 
  103. 103  GOSUB 64
  104. 104 NUM = AS:LOC = 60: GOSUB 68:NUM = 1024:LOC = 62: GOSUB 68
  105. 105  CALL 770
  106. 106 F1% = 0: GOSUB 88: GOSUB 70
  107. 107  IF F0% >0  THEN  GOSUB 52: GOTO 103
  108. 108  IF S = 1  THEN  GOSUB 33: GOTO 110
  109. 109 F2% = 0: GOSUB 12
  110. 110  IF I$ = Q$  THEN  GOSUB 44: GOTO 103
  111. 111  IF I$ = B$  THEN BK% = 1: RETURN 
  112. 112  IF H% >0  AND I$ = H$  THEN  GOSUB 52: GOTO 103
  113. 113  RETURN 
  114. 114  GOSUB 98: GOSUB 88:V = 10:H = 3: GOSUB 95: PRINT "OOPS...A PROGRAM ERROR!":V = V +2: GOSUB 95: PRINT "PLEASE REPORT ERROR #" PEEK(222):V = V +2: GOSUB 95: PRINT "AT LINE NUMBER " PEEK(218) + PEEK(219) *256: END 
  115. 115  VTAB 2
  116. 116  POKE 32,2: POKE 33,36: POKE 34,0: POKE 35,21
  117. 117  POKE 32,1: POKE 33,40: POKE 34,0: POKE 35,23
  118. 118 D$ =  CHR$(4):ES$ =  CHR$(27)
  119. 119 CH$ = "+":HY$ = "-":X$ = "":H$ = "?":Q$ = "Q":P$ = "P":B$ = "B":Y$ = "Y":N$ = "N":C$ = "C":S$ = "S":SP$ = " ":CR$ =  CHR$(13):DQ$ =  CHR$(34):RT$ = DQ$ +"RETURN" +DQ$:ES$ =  CHR$(27)
  120. 120 A1 = 6:A2 = 8:A3 = 7:A4 = 2
  121. 121 NP% = 50:PG = 154 -NP%:A0 = PG *256
  122. 122  PRINT D$;"BLOAD MASTER.INT,A"A0
  123. 123 NT% =  PEEK(A0):TH% =  PEEK(A0 +1)
  124. 124 NM% = 10: DIM M$(NM%): DATA  "9","","4","6","2","14","14","14","14","14": FOR I = 1 TO NM%: READ M$(I): NEXT I
  125. 125 PS$ = "        "
  126. 126 F1$ = "  SEE MANUAL PART "
  127. 127 F2$ = "  LEGISOFT/NOLO PRESS "
  128. 128 UL$ = "--------------------------------------":J$ = "PRESS "
  129. 129 SO =  -16336: GOTO 3